package com.qidianit.mes.pro.mapper;

import com.qidianit.mes.pojo.pro.ProductionOrder;
import com.qidianit.mes.vo.ProductionOrderPageVo;
import com.qidianit.mes.vo.ProductionOrderVo;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Package Path: com.qidianit.mes.pro.mapper
 * Author: Alhz
 * Description:
 * Date: 2025/9/21 17:12
 */
@Mapper
public interface ProductionOrderMapper {
    /**
     * 分页查询
     * @param productionOrderPageVo
     * @return
     */
    List<ProductionOrderVo> selectAllOrders(ProductionOrderPageVo productionOrderPageVo);

    /**
     * 新增生产工单
     * @param productionOrder
     * @return
     */
    int addProductionOrder(ProductionOrder productionOrder);


    /**
     * 更新生产工单
     * @param productionOrder
     * @return
     */
    int updateProductionOrder(ProductionOrder productionOrder);

    /**
     * 根据id获取生产工单
     * @param id
     * @return
     */
    ProductionOrder getProductionOrderById(Long id);


    /**
     * 删除工单
     * @param id
     * @return
     */
    int deleteByProductionOrderId(Long id);

    /**
     * 更新状态
     * @param id
     * @param status
     * @return
     */
    int updateProductionOrderStatus(@Param("id") Long id, @Param("status") Integer status);

    /**
     * 已经通过审核的工单
     * @param productionOrderPageVo
     * @return
     */
    List<ProductionOrderVo> selectAllProductionOrders(ProductionOrderPageVo productionOrderPageVo);


    /**
     * 根据id获取对应的信息
     * @param id
     * @return
     */
    ProductionOrderVo selectProductionOrderById(Long id);


}
